Display apparatus, program, and display method

ABSTRACT

A display apparatus configured to move a drag object on a screen in accordance with an operation of a pointer. The display apparatus can include a detection unit configured to detect a target object on the screen, the target object being a destination of the drag object, and a display control unit configured to display the drag object in a position closer to the target object than a display position of the pointer moved in accordance with an operation performed by a user.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is the national stage of International Application No.PCT/JP2009/06924, filed Nov. 12, 2009, designating, inter alia, theUnited States and claiming priority to Japanese Application Number2008-296834, filed on Nov. 20, 2008, each of which are fullyincorporated herein by reference.

BACKGROUND

The present invention relates to a display apparatus, a program, and adisplay method for moving an object in accordance with an operation of apointer performed by a user.

Among methods for executing a type of file (file A) using an application(application B) is a method of dragging and dropping an icon indicatingthe existence of the onto a start icon of the application B. By adoptingsuch a method, the file A is executed using the application B, even ifthe file A is not associated with the application B in the operatingsystem.

However, if the application B cannot accept the A, the file A is notexecuted, even if the icon of the file A is dropped onto the start iconof the application B. Or, when the icon of the file A is moved onto thestart icon of the application B, not-allowed sign or the like appears,preventing the user from dropping the icon.

Therefore, the user recognizes that the application B cannot execute thefile A only after dragging the icon of the file A to the application B.That is, in order to check if a type of file can be executed using anyapplication file, the user must drag an icon of the file to a start iconof the application.

Japanese Unexamined Patent Application Publication No 09-138732discloses a related-art example in which when a pointer is moved withina certain range from an object, the pointer is dragged to the object.However, as for the related-art example, the user cannot know whetherthe object can accept a selected icon unless the user drags the icon atleast into the range where the pointer will be dragged.

Also, if the user drags the icon of the file A over a long distance andthen drops the icon onto the start icon of the application B so as toexecute the file, it takes time before the execution of the file Astarts. Since screens are upsized in recent years, an operation burdenimposed on a user, that is, a movement of an icon is increased as well.

BRIEF SUMMARY

One embodiment can include a display apparatus for moving a drag objecton a screen in accordance with an operation of a pointer. The displayapparatus can include a detection unit configured to detect a targetobject on the screen, the target object being a destination of the dragobject. The display apparatus can include a display control unitconfigured to display the drag object in a position closer to the targetobject than a display position of the pointer moved in accordance withan operation performed by a user.

Another embodiment can include a display apparatus for moving a dragobject on a screen in accordance with an operation of a pointer. Thedisplay apparatus can include a detection unit configured to detect atleast one target object on the screen, the at least one target objectbeing a destination of the drag object, and a display control unitconfigured to create a composite vector by obtaining a vectorrepresenting an offset amount and an offset direction with respect toeach of the detected at least one target object, combine the obtainedvectors, and display the drag object in such a manner that the dragobject is offset from the pointer to a position specified by thecomposite vector. As a distance between the pointer and the detected atleast one target object becomes shorter, the display control unit can beconfigured to make an offset amount larger with respect to thecorresponding target object. Further, as an association degreerepresenting strength of an association between the drag object and thedetected at least one target object(s) becomes higher, the displaycontrol unit can make the offset amount larger with respect to thecorresponding target object. If the pointer overlaps any one of thedetected at least one target object(s), the display control unit candisplay the drag object in a position matching the pointer.

Another embodiment can include a display apparatus for moving a dragobject on a screen in accordance with an operation of a pointer. Thedisplay apparatus can include a pointer display unit configured to movea display position of the pointer on the screen in accordance with anoperation performed by a user and a display control unit configured tomove the drag object by a movement amount larger than a movement amountof the pointer and then display the drag object.

Another embodiment can include a computer program product for moving adrag object on a screen in accordance with an operation of a pointer.The computer program product can include a computer readable storagemedium having computer readable program code embodied therewith. Thecomputer readable program code can include computer readable programcode configured to move the drag object by a movement amount larger thana movement amount of a pointer, wherein a display position of thepointer is moved in accordance with an operation performed by a user.The computer readable medium further can include computer readableprogram code configured to then display the drag object.

Another embodiment can include a method of moving a drag object on ascreen in accordance with an operation of a pointer. The display methodcan include moving, using a processor, the drag object by a movementamount larger than a movement amount of a pointer, wherein a displayposition of the pointer is moved in accordance with an operationperformed by a user, and displaying the drag object.

The above-mentioned outlines of the present invention do not list allfeatures essential to the invention and subcombinations of the featurescan also be included in embodiments of the invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 shows a display apparatus 10 according to an embodiment of thepresent invention.

FIG. 2 shows an example of a pointer 42 and a drag object 48 displayedon a screen 40 by the display apparatus 10 when a first object isdragged and dropped onto a second object.

FIG. 3 shows an example of a source object 44 and the drag object 48displayed on the screen 40 by the display apparatus 10 in a case wheremultiple target objects 46 are displayed on the screen 40.

FIG. 4 is an example of a flow of a process performed by the displayapparatus 10 according to this embodiment.

FIG. 5 shows an example of the edit screen 40 for editing a web page tobe provided in a mashup service.

FIG. 6 shows another example of the screen 40 displayed by the displayapparatus 10.

FIG. 7 shows a configuration of a display apparatus 10 according to afirst modification of this embodiment.

FIG. 8 shows an example of a pointer 42 and a drag object 48 displayedon a screen 40 by the display apparatus 10 according to the firstmodification.

FIG. 9 shows an example hardware configuration of a computer 1900according to this embodiment.

DETAILED DESCRIPTION

The present invention will be described using an embodiment thereof.However, the embodiment does not limit the invention as set forth in theappended claims. Also, not all combinations of the features described inthe embodiment are essential as a means for solving the above-mentionedproblem.

Accordingly, an object of the present invention is to provide a displayapparatus, a computer program product, and a display method that areallowed to solve the above-mentioned problem. The object is achieved bycombining the features described in the independent claims of theappended claims. Also, the dependent claims define more advantageous,specific examples of embodiments of the present invention.

In order to solve the above-mentioned problem, a first aspect of thepresent invention provides a display apparatus for moving a drag objecton a screen in accordance with an operation of a pointer performed by auser. The display apparatus includes: a detection unit for detecting atarget object on the screen, the target object being a destination ofthe drag object; and a display control unit for displaying the dragobject in a position closer to the target object than a display positionof the pointer moved in accordance with an operation performed by auser. Also, the first aspect of the present invention provides acomputer program product and a display method for causing a computer tofunction as such a display apparatus.

A second aspect of the present invention provides a display apparatusfor moving a drag object on a screen in accordance with an operation ofa pointer performed by a user. The display apparatus includes: a pointerdisplay unit for moving a display position of the pointer on the screenin accordance with an operation performed by a user; and a displaycontrol unit for moving the drag object by a movement amount larger thana movement amount of the pointer and then displaying the drag object.Also, the second aspect of the present invention provides a computerprogram product and a display method for causing a computer to functionas such a display apparatus.

FIG. 1 shows a functional configuration of a display apparatus 10according to this embodiment. The display apparatus 10 receivesinformation indicating an operation of an input device performed by auser and moves a drag object on a screen displayed by a display device,in accordance with the information. The display apparatus 10 isrealized, for example, by executing a program using a computer. Such aprogram for causing a computer to function as the display apparatus 10may be, for example, apart of the operating system of the computer or apart of an application program.

The display apparatus 10 includes an object display unit 22, a pointerdisplay unit 24, a creation unit 26, a detection unit 28, an associationdegree storage unit 30, a display control unit 32, and an update unit34. The object display unit 22 displays multiple objects on a screen.The object display unit 22 may display, for example, a file iconindicating the existence of a file, a start icon for starting anapplication, and the like on the screen.

The pointer display unit 24 displays a pointer on the screen. Also, thepointer display unit 24 moves the display position of the pointer inaccordance with an operation performed by the user using an input devicesuch as a mouse.

When the user drags an object displayed on the screen, using an inputdevice, the creation unit 26 displays a drag object indicating that theobject is being dragged, on the screen. For example, if the user movesan object displayed on the screen while pressing the left button of themouse, the creation unit 26 displays a drag object on the screen.

For example, the creation unit 26 may display a drag object, which is acopy of an object, on the screen while displaying the object, which is asubject of a drag operation, in the original position. Alternatively,the creation unit 26 may delete the original object, which is a subjectof a drag operation, and display only a drag object on the screen.

The detection unit 28 detects, on the screen, at least one target objectthat is the destination of a drag object displayed by the creation unit26. For example, the detection unit 28 may detect, as target objects,all objects other than an object that is a subject of a drag operation,among objects displayed on the screen by the object display unit 22. Asanother example, the detection unit 28 may detect, as a target object, aparticular type of objects other than an object that is a subject of adrag operation, among objects displayed on the screen by the objectdisplay unit 22.

The association degree storage unit 30 stores association degreesindicating the strengths of associations between each of the types oftarget objects displayed on the screen and each of the drag objectsdisplayed on the screen. For example, if objects have a strongassociation with each other, the association degree storage unit 30stores a high association degree with respect to the objects; if theobjects have a weak association with each other, it stores a lowassociation degree with respect thereto. For example, the displaycontrol unit 32 may seta high association degree with respect to a musicfile and a music player, a medium association degree with respect to amusic file and a video application, and a low association degree withrespect to a music file and an image edit application.

If the user drags an object displayed on the screen using an inputdevice, the display control unit 32 moves a drag object in accordancewith a movement of the pointer. In this case, the display control unit32 displays the drag object in a position closer to the target objectthan the display position of the pointer moved in accordance with anoperation performed by the user. For example, the display control unit32 sets an offset amount by which a drag object 48 is offset from apointer 42 in a direction close to a target object 46, on the basis of acorresponding association degree stored in the association degreestorage unit 30.

If the user moves a drag object to a target object, the update unit 34updates a corresponding association degree stored in the associationdegree storage unit 30. For example, if the frequency with which a typeof drag object is moved to a type of target object becomes apredetermined frequency or more, the update unit 34 may make higher acorresponding association degree stored in the association degreestorage unit 30.

FIG. 2 shows an example of the pointer 42 and drag object 48 displayedon the screen 40 by the display apparatus 10 when dragging and droppinga first object (source object 44) onto a second object (target object46). As shown in FIG. 2, when dragging the source object 44 to thetarget object 46, the display control unit 32 of the display apparatus10 displays the drag object 48 in such a manner that the drag object 48is offset from the display position of the pointer 42 to a positionclose to the target object 46.

As the association degree between the drag object 48 and target object46 becomes higher, the display control unit 32 makes larger the offsetamount by which the drag object 48 is offset from the pointer 42 to aposition close to the target object 46. For example, if the drag object48 is an icon indicating a music file and the target object 46 is astart icon of a music player having a strong association with the musicfile, the display control unit 32 increases the offset amount. Incontrast, if the drag object 48 is an icon indicating a music file andthe target object 46 is an image edit application having a weakassociation with the music file, the display control unit 32 reduces theoffset amount. Further, if the drag object 48 is an icon indicating amusic file and the target object 46 is an application that can accept nomusic file, the display control unit 32 may set the offset amount tozero.

In this case, the display control unit 32 offsets the drag object 48 ina direction from the pointer 42 to the target object 46. If only onetarget object 46 is displayed on the screen 40, the display control unit32 may display the drag object 48, for example, on a line linking thepointer 42 and target object 46.

Thus, the display apparatus 10 allows the user to recognize whether thetarget object 46 can accept the drag object 48 as well as recognize thestrength of the association between these objects before overlaying thedrag object 48 on the target object 46. Also, the display apparatus 10allows the drag object 48 to reach the target object 46 ahead of thepointer 42, thereby reducing the drag distance.

Also, as the distance between the pointer 42 and target object 46becomes shorter, the display control unit 32 may make the offset amountlarger. When the user brings the pointer 42 closer to the target object46 during a drag, there is a high possibility that the user wants tomove the drag object 48 to the target object 46. Therefore, by adoptingthe above-mentioned configuration, the display control unit 32 can movethe drag object 48 to a position closer to the target object 46.

Also, the display control unit 32 may calculate the offset amount on thebasis of gravity force caused between the drag object 48 and targetobject 46 in a case where the degree of the association between the dragobject 48 and target object 46 is considered as the mass of the dragobject 48 and target object 46. For example, the display control unit 32may set the offset amount by which the drag object 48 is offset from thepointer 42 in a direction close to the target object 46, on the basis ofa value proportional to the association degree between the drag object48 and target object 46 and inversely proportional to a power (e.g.,square) of the distance between the drag object 48 and target object 46.Thus, the display control unit 32 provides the user a drag operationsuch that the drag object 48 moves toward the target object 46 at ahigher speed as the drag object 48 becomes closer to the target object46.

FIG. 3 shows an example of the source object 44 and drag object 48displayed on the screen 40 by the display apparatus 10 in a case wheremultiple target objects 46 are displayed on the screen 40. The detectionunit 28 may detect at least one target object 46. In an example shown inFIG. 3, the detection unit 28 is detecting three target objects 46(46-1, 46-2, and 46-3).

In this case, the display control unit 32 creates a composite vector byobtaining a vector representing the offset amount and offset directionwith respect to each of the detected at least one target object 46 andthen combining the obtained vectors, and displays the drag object 48 insuch a manner that the drag object 48 is offset from the pointer 42 to aposition specified by the composite vector. For example, the displaycontrol unit 32 calculates a vector representing the offset amount andoffset direction with respect to each of the detected at least onetarget object 46, assuming that there are no other target objects 46.Subsequently, the display control unit 32 creates a composite vector bycombining the calculated vectors. Subsequently, the display control unit32 identifies the position of the composite vector with the position ofthe pointer 42 used as the origin point and displays the drag object 48in the identified position.

Thus, if multiple target objects 46 are displayed, the display controlunit 32 displays the drag object 48 in such a manner that the dragobject 48 is offset in a direction toward a target object 46 having thestrongest association with the drag object 48. Therefore, when multipletarget objects 46 are displayed, the display control unit 32 allows theuser to recognize which of the target objects 46 the drag object 48 hasthe strongest association with.

The display control unit 32 may display a direction object 50 indicatinga direction from the pointer 42 to the drag object 48. Thus, the displaycontrol unit 32 allows the user to more easily recognize the position ofa target object 46 having a strong association.

Also, if the pointer 42 overlaps any target object 46, the displaycontrol unit 32 may display the drag object 48 in a position matchingthe pointer 42. Thus, even if the drag object 48 is dragged onto atarget object 46 having a weak association, the display control unit 32can display the drag object 48 in such a manner that the drag object 48overlaps the target object 46.

The display control unit 32 may reduce the association degree withrespect to a target object 46 having more types of acceptable dragobjects 48. Thus, the display control unit 32 can display the dragobject 48 while reducing the offset amount by which the drag object 48is offset toward an object having many types of acceptable objects, suchas a file management application (e.g., Explorer). This allows the userto recognize a direction toward an object for exclusive use.

Also, if multiple drag objects 48 are collectively moved, the displaycontrol unit 32 may increase the association degree with respect to atarget object 46 having more types of acceptable drag Objects 48. Thus,the display control unit 32 allows the user to recognize a directiontoward a versatile object, such as a file management application.

FIG. 4 is an example of a flow of a process performed by the displayapparatus 10 according to this embodiment. First, the creation unit 26of the display apparatus 10 waits for the process until any objectdisplayed on the screen is dragged (S10).

If any object is dragged, the creation unit 26 creates a drag objectwith respect to the dragged object (S11). Subsequently, the detectionunit 28 detects at least one target object (S12). Subsequently, thedisplay control unit 32 reads, from the association degree storage unit30, the association degrees between the drag object and each of thedetected at least one target object (S13).

Subsequently, the display apparatus 10 repeatedly performs a loopprocess from step S15 to step S21 every given time (e.g., each time apointer is moved) (S14, S22). First, the pointer display unit 24 movesthe pointer to a position according to an operation performed by theuser (S15).

Subsequently, the display control unit 32 determines whether the pointerhas overlapped any target object (S16). If the pointer has overlappedany target object (YES in S16), the display control unit 32 sets theoffset amount to zero (S17).

In contrast, if the pointer has overlapped no target object (NO in S16),the display control unit 32 calculates an offset amount and an offsetdirection for offsetting the drag object from the pointer (S19). Forexample, the display control unit 32 calculates a vector representingthe offset amount and offset direction with respect to each of thedetected target objects using the association degree between the dragobject and each of the target objects as well as using the position ofthe drag object and that of each of the target objects, and calculates acomposite vector by combining the calculated vectors. The displaycontrol unit 32 may calculate the offset amount and offset directionfrom the pointer, on the basis of the composite vector.

When step 17 or 19 is completed, the display control unit 32 moves thedrag object using the result of step S17 or 19 (S20). Subsequently, thedisplay control unit 32 determines whether the drag object has beendropped (S21). If the drag object has not been dropped (NO in S22), thedisplay control unit 32 returns the process to step S15 to repeat theloop process. If the drag object has been dropped, the display controlunit 32 completes the flow without repeating the loop process.

By adopting the display apparatus 10 according to this embodiment asdescribed above, the drag object is displayed in such a manner that thedrag object is offset from the pointer by an offset amount correspondingto the strength of association and in an offset direction toward atarget object having a strong association with the drag object. Thus,the display apparatus 10 allows the user to recognize the target objecthaving a strong association with the drag object.

FIG. 5 shows an example of the edit screen 40 for editing a web page tobe provided in a mashup service. A service, called “mashup,” fordisplaying services provided by multiple servers in one web page isknown.

In a process for editing a mashed-up web page, a process, called“wiring,” for associating objects displayed on a web page with eachother is performed. In wiring, when an object (source object 44), whichis a link source, is dragged, a plug-shaped drag object 48 is displayed.The plug-shaped drag object 48 moves in conjunction with a movement ofthe pointer 42. Also, wire 60 linking the plug-shaped drag object 48 andsource object 44 is displayed.

Also, a connector-shaped object (target object 46), which is a linkdestination, is displayed. Subsequently, the user moves the plug-shapeddrag object to insert the drag object into any connector-shaped targetobject 46. In this way, these objects are associated with each other.

If the plug-shaped drag object 48 is dragged in such wiring, the displayapparatus 10 according to this embodiment displays the plug-shaped dragobject 48 in such a manner that the plug-shaped drag object 48 is offsetfrom the display position of the pointer 42 to a position close to thetarget object 46. Also, the display apparatus 10 displays theplug-shaped drag object 48 in such a manner that the plug-shaped dragobject 48 is directed in the offset direction, as well as deforms thewire 60 in accordance with the offset direction. This improves useroperability in wiring.

More specifically, FIG. 5 shows an example of an edit for associating asearch tool with map data, weather data, and picture data. If the dataformat for the search box and the data format for an input field of eachsearch target object are matched, the display control unit 32 mayincrease the association degree; if not matched, the display controlunit 32 may reduce the association degree. Also, if the data formats arematched but the semantics of the data are different, for example, if thedata format for the search box is a character string-type search keywordand the field of an object that is a subject of search is a characterstring-type URL (uniform resource locator), the display control unit 32may set the association degree to a medium degree.

FIG. 6 shows another example of the screen 40 displayed by the displayapparatus 10. As shown in FIG. 6, the display control unit 32 may selecta target object 46 having an offset amount equal to or larger than apredetermined amount from among detected at least one target object 46and display a path from the drag object 48 to the selected target object46. Alternatively, the display control unit 32 may select target objects46 having the first to predetermined number'th largest offset amountsfrom among detected at least one target object 46 and display paths fromthe drag object 48 to the selected target objects 46. Thus, the displaycontrol unit 32 allows the user to more easily recognize the positionsof the target objects 46 having strong associations.

In this case, the display control unit 32 may define a path 70 to atarget object 46 having the largest offset amount as a priority path 72and define paths 70 other than the priority path 72 as non-prioritypaths 74. The display control unit 32 may display the priority path 72using a straight line from the drag object 48 to the target object 46having the largest offset amount. Also, the display control unit 32 maydisplay the non-priority paths 74 as branches of the priority path 72.Further, the display control unit 32 may display the priority path 72using a solid line and display the non-priority paths 74 using dottedlines, thin lines, or the like.

Also, the display control unit 32 may update the path 70 in conjunctionwith a movement of the drag object 48. For example, if the targetobjects 46 having the first to predetermined number'th largest offsetamounts are changed to others due to a movement of the drag object 48,the display control unit 32 may display paths to the other targetobjects 46.

If the drag object 48 is dropped on the priority path 72, the displaycontrol unit 32 may automatically move the drag object 48 to the targetobject 46 along the priority path 72. Thus, the display control unit 32allows the user to move the drag object 48 to an intended position withfewer operations.

Also, in addition to the paths 70 or instead of the paths 70, thedisplay control unit 32 may display, with respect to each target object46, a set of concentric circles with the target object 46 as the center.In this case, the display control unit 32 displays each set ofconcentric circles in such a manner that intervals between concentriccircles more distant from the center are made larger and that a targetobject 46 having a stronger association with the drag object 48 hasconcentric circles having shorter intervals. As a result, the displaycontrol unit 32 makes a display resembling a gravitational field aroundeach target object 46, as well as makes a display as if a target object46 having a stronger association had a stronger gravitational field.

FIG. 7 shows a configuration of a display apparatus 10 according to afirst modification of this embodiment. Since the display apparatus 10according to this modification has a configuration and functionsapproximately identical to those of the display apparatus 10 accordingto this embodiment, like elements are assigned like reference numeralsand only the differences between the display apparatus 10 according tothis modification and that according to this embodiment will bedescribed.

The display apparatus 10 includes an object display unit 22, a pointerdisplay unit 24, a creation unit 26, a display control unit 32, and amovement detection unit 36. The movement detection unit 36 detects amovement of the pointer. The movement detection unit 36 may detect, forexample, the movement trajectory of the pointer. Alternatively, themovement detection unit 36 may detect the movement speed of the pointer.

If a user drags an object displayed on the screen using an input device,the display control unit 32 moves a drag object in the movementdirection of the pointer by a movement amount larger than the movementamount of the pointer, and displays the drag object. That is, thedisplay control unit 32 displays the drag object in such a manner thatthe drag object is offset from the pointer in the movement direction ofthe pointer.

FIG. 8 shows an example of a pointer 42 and a drag object 48 displayedon a screen 40 by the display apparatus 10 according to the firstmodification. The display control unit 32 may detect the movementtrajectory of the pointer 42 during a drag and display the pointer 42 ona future movement position estimated from the detected movementtrajectory. Also, the display control unit 32 may detect the movementtrajectory corresponding to a period from the present time to apredetermined time or may detect the movement trajectory correspondingto a period from the present time to a drag start time.

The display control unit 32 may display the drag object 48 in a positionoffset from the pointer 42 by a predetermined offset amount on anextension of the movement trajectory. Also, the display control unit 32may estimate an extension of the movement trajectory, for example, bycalculating such as a function representing a tangent to the movementtrajectory.

The display control unit 32 may display the drag object 48 in a positionoffset from the pointer 42 by a fixed offset amount. Also, the displaycontrol unit 32 may detect the movement speed of the pointer 42 tochange the offset amount in accordance with the movement speed. Forexample, if the movement speed is high, the display control unit 32 mayincrease the offset amount; if the movement speed is low, it may reducethe offset amount. By adopting the display apparatus 10 according to thefirst modification as described above, the drag object 48 reaches thetarget object 46 ahead of the pointer 42 so that the drag distance isreduced.

FIG. 9 shows an example hardware configuration of a computer 1900according to this embodiment. The computer 1900 according to thisembodiment includes a CPU peripheral unit, an input/output unit, and alegacy input/output unit. The CPU peripheral unit includes a CPU 2000, aRAM 2020, a graphic controller 2075, and a display 2080, which arecoupled to one another via a host controller 2082. The input/output unitincludes a communication interface 2030, a hard disk drive 2040, and aCD-ROM drive 2060, which are coupled to the host controller 2082 via aninput/output controller 2084. The legacy input/output unit includes aROM 2010, a flexible disk drive 2050, and an input/output chip 2070,which are coupled to the input/output controller 2084.

The host controller 2082 couples between the RAM 2020, and the CPU 2000configured to access the RAM 2020 at a high transfer rate and thegraphic controller 2075. The CPU 2000 operates on the basis of programsstored in the ROM 2010 and RAM 2020 so as to control each component. Thegraphic controller 2075 acquires image data generated by the CPU 2000 orthe like on a frame buffer provided in the RAM 2020 and displays theacquired image data on the display 2080. Alternatively, the graphiccontroller 2075 may include a frame buffer for storing image datagenerated by the CPU 2000 or the like.

The input/output controller 2084 couples between the host controller2082, and the communication interface 2030, which is a relativelyhigh-speed input/output device, hard disk drive 2040, and CD-ROM drive2060. The communication interface 2030 communicates with otherapparatuses via a network. The hard disk drive 2040 stores a program anddata to be used by the CPU 2000 of the computer 1900. The CD-ROM drive2060 reads out a program or data from the CD-ROM 2095 and provides theread-out program or data to the hard disk drive 2040 via the RAM 2020.

Coupled to the input/output controller 2084 are the ROM 2010, flexibledisk drive 2050, and relatively low-speed input/output devices of theinput/output chip 2070. The ROM 2010 stores a boot program to beexecuted when the computer 1900 starts up, and/or a program dependent onthe hardware of the computer 1900. The flexible disk drive 2050 readsout a program or data from the flexible disk 2090 and provides theread-out program or data to the hard disk drive 2040 via the RAM 2020.The input/output chip 2070 couples the flexible drive 2050 to theinput/output controller 2084, as well as couples various input/outputdevices to the input/output controller 2084, for example, via a parallelport, a serial port, a keyboard port, a mouse port, and the like.

For example, a program stored in a recoding medium such as the flexibledisk 2090, CD-ROM 2095, or an integrated circuit (IC) card is installedinto the hard disk drive 2040 via the RAM 2020 by the user and thenexecuted by the CPU 2000.

A program installed into the computer 1900 and intended to cause thecomputer 1900 to function as the display apparatus 10 includes an objectdisplay module, a pointer display module, a creation module, a detectionmodule, a display control module, an update module, and an associationdegree module. Alternatively, this program may include an object displaymodule, a pointer display module, a creation module, a detection module,a display control module, and a movement detection module. This programor these modules operates the CPU 2000 and the like so as to cause thecomputer 1900 to function as the object display unit 22, pointer displayunit 24, creation unit 26, detection unit 28, association degree storageunit 30, display control unit 32, update unit 34, and movement detectionunit 36.

In other words, when information written in this program is read by thecomputer 1900, the object display unit 22, pointer display unit 24,creation unit 26, detection unit 28, association degree storage unit 30,display control unit 32, update unit 34, and movement detection unit 36,which are specific means where software and the above-mentioned varioushardware resources collaborate with each other, are realized. Also, byperforming operations on information or processing information usingthese specific means in accordance with the use objective of thecomputer 1900 according to this embodiment, a unique display apparatus10 according to the use objective is constructed.

For example, when communications are performed between the computer 1900and an external apparatus or the like, the CPU 2000 executes acommunication program loaded in the RAM 2020 and, on the basis of aprocess written in the communication program, instructs thecommunication interface 2030 to perform a communication process. Underthe control of the CPU 2000, the communication interface 2030 reads outtransmission data stored in a transmission buffer area or the likeprovided in a storage device such as the RAM 2020, hard disk drive 2040,flexible disk 2090, or CD-ROM 2095 and transmits the read-outtransmission data to a network, or writes reception data received via anetwork into a reception buffer area or the like provided in a storagedevice. As described above, the communication interface 2030 maytransmit transmission data to a storage device or receive reception datafrom a storage device using the DMA (direct memory access) method.Alternatively, the CPU 2000 may read out data from a storage device orthe communication interface 2030, which is the transmission source, andmay write the read-out data into the communication interface 2030 or astorage device, which is the transmission destination, so as to transfertransmission data or reception data.

Also, the CPU 2000 loads all or necessary ones of files, databases, andthe like stored in an external storage device such as the hard diskdrive 2040, CD-ROM drive 2060 (CD-ROM 2095), or flexible disk drive 2050(flexible disk 2090) into the RAM 2020 using DMA transfer or the likeand performs various processes on the data loaded in the RAM 2020. Then,the CPU 2000 writes the resultant data back into the external storagedevice using DMA transfer or the like. In such a process, the RAM 2020is considered as a device for temporarily retaining the data stored inthe external storage device. Therefore, in this embodiment, the RAM2020, external storage devices, and the like are each referred to as a“memory,” a “storage unit,” a “storage device,” or the like. In thisembodiment, various programs and various types of information such asdata, tables, and databases are stored in these storage devices and aresubjected to information processing. Incidentally, the CPU 2000 may reador write data from or into a cache memory retaining a part of the RAM2020. In this case, the cache memory also plays a part of the functionof the RAM 2020. Therefore, in this embodiment, the cache memory isreferred to as the “RAM 2020,” a “memory,” or a “storage device,” exceptfor a case where the cache memory and RAM 2020 or the like are shownindependently.

Also, the CPU 2000 performs various processes that are specified bycommand strings in a program and include various operations, informationprocessing, condition judgment, and retrieval or replacement ofinformation described in this embodiment, on data read out from the RAM2020 and then writes the resultant data back into the RAM 2020. Forexample, if the CPU 2000 performs condition judgment, it judges whethereach variable shown in this embodiment meets a condition such as acondition that the variable must be larger, smaller, equal to or largerthan, equal to or smaller than, or equal to other variables orconstants. If the condition is met (or unmet), the condition judgment isbranched to a different command string or a sub-routine is called.

Also, the CPU 2000 is allowed to retrieve information included in afile, a database, or the like stored in a storage device. For example,if multiple entries in which the attribute value of a first attributeand that of a second attribute are associated with each other are storedin a storage device, the CPU 2000 retrieves an entry in which theattribute value of the first attribute meets a specified condition, fromamong the multiple entries and reads out the attribute value of thesecond attribute stored in the entry. Thus, the CPU 2000 obtains theattribute value of the second attribute associated with the firstattribute meeting the specified condition.

The above-mentioned program or modules may be stored in an externalrecording medium. Among such recording media are the flexible disk 2090and CD-ROM 2095 as well as an optical recording medium such as a digitalversatile disc (DVD) or a compact disc (CD), a magneto-optical recordingmedium such as a magneto-optical (MO) disk, a tape medium, and asemiconductor memory such as an IC card. Also, a storage device, such asa hard disk or a random access memory (RAM), provided in a server systemconnected to a dedicated communication network or the Internet may beused as a recording medium and the above-mentioned program stored insuch a storage device may be provided to the computer 1900 via anetwork.

While the present invention has been described using the embodimentthereof, the technical scope of the invention is not limited to thedescription of the above-mentioned embodiment. It will be apparent forthose skilled in the art that various changes and modifications can bemade to the above-mentioned embodiment. Also, it will be apparent fromthe description of the appended claims that such changed or modifiedembodiments can also fall within the technical scope of the invention.

Also, it should be noted that there is no specific description, such as“perform an operation before performing another operation,” about theorder of performance of the processes, such as operations, steps, andstages, of the apparatus(es), system(s), program(s), and/or method(s)described in the appended claims, specification, and accompanyingdrawings and that these processes can be performed in any order unlessan output produced in a preceding process is used in a subsequentprocess. While the flow of operations is described using terms such as“first,” “then,” and the like in the claims, specification, and drawingsfor convenience sake, the operations do not always need to be performedin that order.

The invention claimed is:
 1. A display apparatus for moving a drag object on a screen in accordance with an operation of a pointer, the display apparatus comprising: a detection unit configured to detect a target object on the screen, the target object being a destination of the drag object; and a display control unit configured to display the drag object in a position closer to the target object than a display position of the pointer moved in accordance with an operation performed by a user, wherein as a distance between the pointer and the target object becomes shorter, the display control unit is configured to make an offset amount larger, the offset amount by which the drag object is offset from the pointer in a direction close to the target object.
 2. The display apparatus according to claim 1, wherein, as an association degree representing strength of an association between the drag object and the target object becomes higher, the display control unit is configured to make an offset amount larger, the offset amount by which the drag object is offset from the pointer in a direction close to the target object.
 3. The display apparatus according to claim 2, wherein, if the target object has more types of acceptable drag objects, the display control unit is configured to reduce the association degree with respect to the target object.
 4. The display apparatus according to claim 3, wherein, if the drag object includes a plurality of drag objects and the drag objects are moved collectively and if the target object has more types of acceptable drag objects, the display control unit is configured to increase the association degree with respect to the target object.
 5. The display apparatus according to claim 2, further comprising: an association degree storage unit configured to store the association degrees between each of types of target objects and each of types of drag objects, wherein the display control unit is configured to set the offset amount on the basis of the corresponding association degree stored in the association degree storage unit.
 6. The display apparatus according to claim 5, further comprising: an update unit configured to, if a user performs an operation for moving the drag object to the target object, update the corresponding association degree stored in the associative storage apparatus storage unit.
 7. The display apparatus according to claim 1, wherein, the display control unit is configured to set an offset amount by which the drag object is offset from the pointer in a direction close to the target object, on the basis of a value proportional to an association degree representing strength of an association between the drag object and the target object and inversely proportional to a power of a distance between the drag object and the target object.
 8. The display apparatus according to claim 1, wherein, the detection unit is configured to detect the at least one target object, and the display control unit is configured to create a composite vector by obtaining a vector representing an offset amount and an offset direction with respect to each of the detected at least one target object and combine the obtained vectors and display the drag object in such a manner that the drag object is offset from the pointer to a position specified by the composite vector.
 9. The display apparatus according to claim 8, wherein, if the pointer overlaps any one of the detected at least one target object, the display control unit is configured to display the drag object in a position matching the pointer.
 10. The display apparatus according to claim 1, wherein, the display control unit is configured to display a direction object indicating a direction from the pointer to the drag object.
 11. The display apparatus according to claim 1, wherein, the detection unit is configured to detect the at least one target object, and the display control unit is configured to select a target object having an offset amount equal to or larger than a predetermined amount, from among the detected at least one target object and display a path from the drag object to the selected target object.
 12. The display apparatus according to claim 1, wherein, the display control unit is configured to update the path in accordance with a movement of the drag object.
 13. A display apparatus for moving a drag object on a screen in accordance with an operation of a pointer, the display apparatus comprising: a detection unit configured to detect at least one target object on the screen, the at least one target object being a destination of the drag object; and a display control unit configured to create a composite vector by obtaining a vector representing an offset amount and an offset direction with respect to each of the detected at least one target object and combine the obtained vectors and display the drag object in such a manner that the drag object is offset from the pointer to a position specified by the composite vector, wherein, as a distance between the pointer and the detected at least one target object becomes shorter, the display control unit is configured to make larger an offset amount with respect to the corresponding target object, and as an association degree representing strength of an association between the drag object and the detected at least one target object becomes higher, the display control unit is configured to make the offset amount larger with respect to the corresponding target object, and if the pointer overlaps any one of the detected at least one target object, the display control unit is configured to display the drag object in a position matching the pointer. 